ci(release): cap btc/dgb Windows compile to -j 8 (VM217 pagefile-wall fix)#720
Merged
Conversation
… fix) VM217 has a fixed 2GB pagefile. A 16-way MSVC parallel build of the heavy btc+NMC (and dgb+DOGE) translation-unit set drives commit charge past the 32GB+2GB wall; the allocation failure surfaces as an orphaned MSBuild with no C####/LNK diagnostic. Cap cmake -j (-> MSBuild /maxcpucount on the VS generator) to 8 to bound concurrent cl.exe and keep committed memory under the wall. Per-coin source-presence guard left intact.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root cause (vm-fleet-steward): VM217 has a fixed 2GB pagefile. A 16-way MSVC parallel build of the heavy btc+NMC (and dgb+DOGE) TU set drives commit charge past the 32GB+2GB wall. The allocation failure surfaces as an orphaned MSBuild with no C####/LNK diagnostic -- the walled, no-compiler-error signature behind the 3 btc-Windows v0.2.1 failures.
Fix: cap the heavy Windows compile step to cmake -j 8 (maps to MSBuild /maxcpucount:8 on the VS generator; CMake does not add /MP, so this bounds concurrent cl.exe across projects and keeps committed memory under the wall). Conservative 8; tune up only if headroom allows. No reboot required -- this is the CI-lane half of the fix.
Scope: only the Build c2pool- Windows step. boost_sentinel (single small TU) and every per-coin source-presence guard left intact. No matrix / guard relaxation.
Validation: fresh release.yml dispatch coins=[btc] off this branch pending runner clearance (VM217 orphan being cleared by vm-fleet-steward).